/*
 * DataPoint.h
 */

#include "math.h"
#ifndef DATAPOINT_H_
#define DATAPOINT_H_

///Class with x and y coordinates and values
class DataPoint {
	int myX, myY;
	double myValue;
	int known;

public:
	DataPoint(int y, int x, double value);
	DataPoint();
	virtual ~DataPoint();

	int getX() { return myX; }
	void setX(int x) { myX = x; }
	int getY() { return myY; }
	void setY(int y) { myY = y; }
	double getValue() { return myValue; }
	void setValue(double val) { myValue = val; known = true; }
	int IsKnown() { return known; }
	void setKnown(int k) { known = k; }
	///Sets points and value, known set to true
	void setInfo( int x, int y, double value )
		{ myX = x; myY = y; myValue = value; known = true; }
	///Sets points coordinates and known to false
	void setEmptyPoint( int x, int y )
		{ myX = x; myY = y; known = false; }

	double distanceTo(DataPoint other);

};

#endif /* DATAPOINT_H_ */
